## 1、格式化输出的一般方法 ##
'''
    %d 填充整数
    %06d 表示输出的整数显示6位数，不足以0补全，超出则原样输出

    %s 填充字符串，如果填充不是字符串，则转为字符串
    %f 填充浮点数，默认保留6位小数   %.2f保留2位小数  %10.2f保留2位小数，总宽度为10

    也可以使用 f'我的名字是{表达式A}，小名是{表达式B}'
'''
age = 18
name = 'TOM'
weight = 75.5
stu_id = 1
stu_id2 = 9999

# (1)今年我的年龄是x岁 -- 整数 %d   %06d 表示输出的整数显示6位数，不足以0补全，超出则原样输出
print('今年我的年龄是%06d岁' % age)
print('今年我的年龄是%s岁' % age)
print(f'今年我的年龄是{age}岁')
print('=================================================')

# (2)我的名字是x -- 字符串 %s
print('我的名字是%s' % name)
print('=================================================')

# (3)我的体重是x公斤 -- 浮点数 %6.2f 保留2位小数，总长度为6
print('我的体重是%6.2f公斤' % weight)
print('=================================================')

# (4)我的学号是x
print('我的学号是%d' % stu_id)
print('我的学号是%03d' % stu_id)
print('我的学号是%03d' % stu_id2)
print('=================================================')

# (5)我的名字是x，今年x岁了
print('我的名字是%s，今年%d岁了' % (name, age))
print('我的名字是%s，明年%d岁了' % (name, age + 1))
print('=================================================')

# (6)我的名字是x，今年x岁了，体重x公斤，学号是x
print('我的名字是%s，今年%d岁了，体重%.2f公斤，学号是%03d' % (name, age, weight, stu_id))
print('我的名字是%s，今年%s岁了，体重%s公斤，学号是%s' % (name, age, weight, stu_id))
print(f'我的名字是{name},今年{age}岁了，体重{weight}公斤，学号是{stu_id}')
print('=================================================')


## 2、利用format()方法，对字符串类型的格式化处理 ##
# 利用format()方法————格式化：随时改变 字符串中 某部分的内容————将要修改的内容，用{}隔开
"{}:计算机{}的CPU占用率为{}%。".format('2016-12-31', '外星人', 10)  # format()里的参数，按顺序填入{}内
"{1}:计算机{0}的CPU占用率为{2}%。".format('2016-12-31', '外星人', 10)  # format()里的参数，按标记好的顺序 填入{}内

# 若调用format()方法时，希望{}本身是 字符串的一部分 ，则需要如下形式：
print('圆周率{{{1:.2%}{2}}}是{0}'.format('无理数', 3.1415926, '……'))

"""
{}内部，可以填入参数序号，还可以填入 格式控制信息————{<参数序号> : <格式控制标记>}
以下来介绍 格式控制标记：
    <填充>        <对齐>      		 <宽度>                <,>   		    <.精度>          				 <类型>
    默认空格	    <左对齐		        先设置为3				 千位分隔符	 10.2保留2为小数，长度为10		整数类型					浮点数类型
    设置*		>右对齐	        参数为4位，则输出4位						.2 字符串输出2位			b 二进制				    e 对应小写字母e的指数形式
			    ^中对齐	       参数为2位，则填充字符占1位											c 对应的字符          	E 对应大写字母E的指数形式
																					            d 十进制				    f 标准浮点形式
																					            o 八进制				    % 浮点数的百分形式
																					            x 小写十六进制
																					            X 大写十六进制
"""
